package me.jessyan.armscomponent.app.di.component;

import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.FragmentScope;

import dagger.BindsInstance;
import dagger.Component;
import me.jessyan.armscomponent.app.di.module.LearningHomeModule;
import me.jessyan.armscomponent.app.mvp.contract.learn.LearningHomeContract;
import me.jessyan.armscomponent.app.mvp.ui.fragment.LearningHomeFragment;


/**
 * <p>
 * Author: Taozebi
 * Date: 08/16/2021 18:12
 * Description: describe of this class
 */
@FragmentScope
@Component(modules = LearningHomeModule.class, dependencies = AppComponent.class)
public interface LearningHomeComponent {
    void inject(LearningHomeFragment fragment);

    @Component.Builder
    interface Builder {
        @BindsInstance
        LearningHomeComponent.Builder view(LearningHomeContract.View view);

        LearningHomeComponent.Builder appComponent(AppComponent appComponent);

        LearningHomeComponent build();
    }
}